package version1;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

/** 版本1--封装【拓展】
 * Oracle工具类
 * 1.数据库：地址、用户名、密码  私有属性--静态化【本类直接调用】
 * 2.静态方法【本类直接调用】getParam(String 外置文件路径)
 *   目的：使用方法调用外部文件  db_oracle.properties
 *   通过Properties类读取键值对形式的数据库基本信息
 * 3.通用封装实现数据库连接信息读取
 */
public class Oracle {
    // 1. 数据库私有静态属性（地址、用户名、密码）
    private static String url;
    private static String username;
    private static String password;

    // 2. 静态方法读取外部配置文件
    public static void getParam(String fileName) throws IOException {
        Properties p = new Properties();
        // 通过类加载器获取配置文件输入流
        InputStream fis =
                Oracle.class.getClassLoader().getResourceAsStream(fileName);
        p.load(fis); // 加载配置文件

        // 读取键值对并赋值给静态属性
        url = p.getProperty("oracle.url");
        username = p.getProperty("oracle.username");
        password = p.getProperty("oracle.password");

        System.out.println("Oracle连接测试：" + url + username + password);
    }

    // 测试方法
    public static void main(String[] args) throws IOException {
        Oracle.getParam("db_oracle.properties"); // 调用时需确保路径正确
    }
}
